<link rel="stylesheet" type="text/css" href="/lib/zTree_v3/css/zTreeStyle/zTreeStyle.css">
<script type="text/javascript" src="/lib/zTree_v3/js/jquery.ztree.core.js"></script>
<script type="text/javascript" src="/lib/zTree_v3/js/jquery.ztree.excheck.js"></script>


<div class="layui-row layui-col-space10" style="position: relative;">
    <div class="layui-col-md6">
        <div class="layuimini-main">
            <div style="text-align: center;">
                <div class="layui-inline">
                    <ul id="tree" class="ztree" style="width:230px; overflow:auto;"></ul>
                </div>
            </div>
        </div>
    </div>
  </div>


<script>



/*
接口请求,所有部门的数据
*/
shared.ajaxGet('/admin/tree/getDeptTree', {}, function (res) {
    if (res) {
        generateTree(res)
    }
})


/*
通过部门数据生成部门树结构
*/
function generateTree(res){


    //ztree的配置
    var setting={
        check: {
            enable: true,
            chkboxType : { "Y" : "ps", "N" : "ps" },
            // Y:s:选中时,影响son
            // Y:p:选中时,影响parent
            // Y:ps:选中时,影响son和parent

            // N:s:取消选择时,影响son
            // N:p:取消选择时,影响parent
            // N:ps:取消选择时,影响son和parent
        },
        view:{
            showIcon:false
        },
        data:{
            simpleData: {
                    enable: true, //该值默认为false.若为true,原始数据不用满足嵌套格式,但需要在数据中指明 id,和pid,通过idKey和pIdKey指定
                    idKey: "departmentCode",
                    pIdKey: "pdepartmentCode"
            },
            key: {
                //title 节点的hover值
                title:  "departmentName", //

                //name 节点显示源数据的哪个字段
                name: "departmentName",
                
                //checked 源数据中用于表示是否选中的字段
                // checked:"ccc"
            }
        }
    };
    
    // ztree初始化 a:dom元素 b:配置对象 c:数据源
    var zTree = $.fn.zTree.init($("#tree"), setting, res);    

    var treeObj = $.fn.zTree.getZTreeObj("tree");



    var node = treeObj.getNodes();
    var nodes = treeObj.transformToArray(node);

    for (var i=0, l=nodes.length; i < l; i++) {
        const element = nodes[i];
        for(var k=0;k<allCheckedNodes.length;k++){
       if (allCheckedNodes[k]==element.departmentCode) {
            console.log("check")
            treeObj.checkNode(element, true, false);
        }
        }
        console.log(element.departmentCode,22222222222)
 
    }

}

    
</script>